package com.alinesno.cloud.initializr.starter.seedgen.bean;

import java.util.Arrays;

import com.alinesno.cloud.common.facade.dto.BaseDto;
import com.alinesno.cloud.initializr.starter.bean.templates.MavenTemplateRootBean;
import com.alinesno.cloud.initializr.starter.dto.GroupDto;

/**
 * 种子工程项目基本信息
 * 
 * @author WeiXiaoJin
 * @since 2021年6月19日 上午6:07:05
 */
public class ProjectInfoDto extends BaseDto {

	private String projectId;
	private String projectName; // 项目名称
	private String projectIcon; // 项目图标
	private String projectCode; // 项目代码
	private String artifactId; // 项目标识
	private String groupId; // 所在分组
	private String servicePort; // 服务端口
	private String domain; // 项目域名
	private String checkEnv; // 是否检测环境
	private String generatorDemo; // 是否生成demo
	private String jdk; // jdk版本
	private String packageType; // 包类型
	private String alinesnoVersion; // 中台版本号
	private String[] dependency; // 依赖组件
	private String author; // 作者名称
	private String authorEmail; // 作者邮件
	private String language; // 语言版本
	private String deployType; // 打包类型[jar/k8s/docker-compose]

	private GroupDto group ; //分组信息
	
	private String alinesnoUI; // 前端工程

	private String repositoryName; // 仓库名称
	private String gitGroupName; // git业务分组名称

	private String gitProjectLink; // 仓库地址
	private String gitProjectId; // 仓库Id
	private String gitType; // 仓库名
	private String gitTypeId ; // 仓库名
	private String namespace; // git 名称空间
	private String gitRunnersToken; // 自动化操作地址

	
	public String getGitTypeId() {
		return gitTypeId;
	}

	public void setGitTypeId(String gitTypeId) {
		this.gitTypeId = gitTypeId;
	}

	public GroupDto getGroup() {
		return group;
	}

	public void setGroup(GroupDto group) {
		this.group = group;
	}

	public String getGitType() {
		return gitType;
	}

	public void setGitType(String gitType) {
		this.gitType = gitType;
	}

	private String templateId; // 业务模板id
	private MavenTemplateRootBean templateBean;

	public MavenTemplateRootBean getTemplateBean() {
		return templateBean;
	}

	public void setTemplateBean(MavenTemplateRootBean templateBean) {
		this.templateBean = templateBean;
	}

	public String getTemplateId() {
		return templateId;
	}

	public void setTemplateId(String templateId) {
		this.templateId = templateId;
	}

	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public String getProjectIcon() {
		return projectIcon;
	}

	public void setProjectIcon(String projectIcon) {
		this.projectIcon = projectIcon;
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	public String getNamespace() {
		return namespace;
	}

	public void setNamespace(String namespace) {
		this.namespace = namespace;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getGitRunnersToken() {
		return gitRunnersToken;
	}

	public void setGitRunnersToken(String gitRunnersToken) {
		this.gitRunnersToken = gitRunnersToken;
	}

	public String getGitProjectLink() {
		return gitProjectLink;
	}

	public void setGitProjectLink(String gitProjectLink) {
		this.gitProjectLink = gitProjectLink;
	}

	public String getGitProjectId() {
		return gitProjectId;
	}

	public void setGitProjectId(String gitProjectId) {
		this.gitProjectId = gitProjectId;
	}

	public String getRepositoryName() {
		return repositoryName;
	}

	public void setRepositoryName(String repositoryName) {
		this.repositoryName = repositoryName;
	}

	public String getGitGroupName() {
		return gitGroupName;
	}

	public void setGitGroupName(String gitGroupName) {
		this.gitGroupName = gitGroupName;
	}

	public String getAlinesnoUI() {
		return alinesnoUI;
	}

	public void setAlinesnoUI(String alinesnoUI) {
		this.alinesnoUI = alinesnoUI;
	}

	public String getServicePort() {
		return servicePort;
	}

	public void setServicePort(String servicePort) {
		this.servicePort = servicePort;
	}

	public String getDeployType() {
		return deployType;
	}

	public void setDeployType(String deployType) {
		this.deployType = deployType;
	}

	public String getLanguage() {
		return language;
	}

	public void setLanguage(String language) {
		this.language = language;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public String getAuthorEmail() {
		return authorEmail;
	}

	public void setAuthorEmail(String authorEmail) {
		this.authorEmail = authorEmail;
	}

	public String getArtifactId() {
		return artifactId;
	}

	public void setArtifactId(String artifactId) {
		this.artifactId = artifactId;
	}

	public String getGroupId() {
		return groupId;
	}

	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	public String getDomain() {
		return domain;
	}

	public void setDomain(String domain) {
		this.domain = domain;
	}

	public String getCheckEnv() {
		return checkEnv;
	}

	public void setCheckEnv(String checkEnv) {
		this.checkEnv = checkEnv;
	}

	public String getGeneratorDemo() {
		return generatorDemo;
	}

	public void setGeneratorDemo(String generatorDemo) {
		this.generatorDemo = generatorDemo;
	}

	public String getJdk() {
		return jdk;
	}

	public void setJdk(String jdk) {
		this.jdk = jdk;
	}

	public String getPackageType() {
		return packageType;
	}

	public void setPackageType(String packageType) {
		this.packageType = packageType;
	}

	public String getAlinesnoVersion() {
		return alinesnoVersion;
	}

	public void setAlinesnoVersion(String alinesnoVersion) {
		this.alinesnoVersion = alinesnoVersion;
	}

	public String[] getDependency() {
		return dependency;
	}

	public void setDependency(String[] dependency) {
		this.dependency = dependency;
	}

	@Override
	public String toString() {
		return "ProjectInfoDto [artifactId=" + artifactId + ", groupId=" + groupId + ", servicePort=" + servicePort
				+ ", domain=" + domain + ", checkEnv=" + checkEnv + ", generatorDemo=" + generatorDemo + ", jdk=" + jdk
				+ ", packageType=" + packageType + ", alinesnoVersion=" + alinesnoVersion + ", dependency="
				+ Arrays.toString(dependency) + ", author=" + author + ", authorEmail=" + authorEmail + ", language="
				+ language + ", deployType=" + deployType + ", alinesnoUI=" + alinesnoUI + ", repositoryName="
				+ repositoryName + ", gitGroupName=" + gitGroupName + "]";
	}

}
